package com.ybkj.daijia.server.dockingsupervise.zhuanche;

import java.io.Serializable;
import java.util.Date;

/**
 * 车辆基本信息
 *
 * @author Administrator
 */
public class ClbaMessage implements Serializable {

    /**
     * 个人私家车
     */
    public static final String DRIVERPROTYPE_GR = "GR";
    /**
     * 平台自有车
     */
    public static final String DRIVERPROTYPE_ZY = "ZY";
    /**
     * 出租企业
     */
    public static final String DRIVERPROTYPE_CZ = "CZ";
    /**
     * 运营状态
     */
    public static final String VEHICLESTATUS_YY = "YY";
    /**
     * 退出状态
     */
    public static final String VehicleStatus_TC = "TC";
    private static final long serialVersionUID = -173107609643114724L;
    private String type = Type.MOREQ_CLBA;//类功能
    private Long id;//编号

    private String driverProType;

    private String vehicleBrand;//车辆厂牌

    private Date vehRegisDate;//报备时间

    private String vehicleLicense;//驾照

    private String certificateNo;

    private String vehicleStatus;//车辆转台

    private String boardColor;//车身颜色

    private String vehicleType;//车辆类型

    private String vehiclePhoto;//车辆照片

    private String annualCheckStatus;//年检状态

    private Double distanceTotal;//行驶里程数

    private Integer examStatus;//年检状态（好像是重复的字段）

    private Date nextExamDate;//车辆下次年检时间

    private Date ncpFirstDate;//使用发票打印设备开始时间

    private String ncpDeviceSerialNum;//发票打印(NCP)设备序列号

    private String gpsBrand;//卫星定位装置品牌

    private String gpsDeviceType;//卫星定位装置型号

    private Date gpsFixDate;//卫星定位装置安装日期

    private String gpsIMEI;//卫星定位装置IMEI号

    private String transPriceType;//运价类型

    private String appKey;//appKey

    private Date created;//创建日期

    private Date updated;//更新日期

    private int seat;//核载人数

    private String brand;//车辆品牌

    private String model;//车辆类型

    private String owner;//所有人

    private String engineNo;//发动机号

    private String vin; // 车辆识别VIN码

    private String fuel; // 车辆燃料类型

    private String permitted; // 核定载客位

    private Date registrationTime; // 注册日期

    private Integer inspectioStatus; // 年验状态 0:未年检,1:已年检合格,2不合格

    private String displacement; // 车辆发动机排量

    private String vehicleColor;//车身颜色

    private String region;//行政区划代码


    private Date transDateStart;//车辆运输证有效期起

    private Date transDateStop;//车辆运输证有效期止

    private Date certifyDateB;//车辆初次登记日期

    private String maintenanceStatus;//车辆检修状态

    private String checkState;//年检状态

    private Date registerDate;//注册时间

    private String fixState;//安装时间

    private String fareType;

    private String transAgency;

    private String plateColor;

    public String getTransAgency() {
        return transAgency;
    }

    public void setTransAgency(String transAgency) {
        this.transAgency = transAgency;
    }

    public String getPlateColor() {
        return plateColor;
    }

    public void setPlateColor(String plateColor) {
        this.plateColor = plateColor;
    }

    public String getFareType() {
        return fareType;
    }

    public void setFareType(String fareType) {
        this.fareType = fareType;
    }

    public String getFixState() {
        return fixState;
    }

    public void setFixState(String fixState) {
        this.fixState = fixState;
    }

    public Date getTransDateStart() {
        return transDateStart;
    }

    public void setTransDateStart(Date transDateStart) {
        this.transDateStart = transDateStart;
    }

    public Date getTransDateStop() {
        return transDateStop;
    }

    public void setTransDateStop(Date transDateStop) {
        this.transDateStop = transDateStop;
    }

    public Date getCertifyDateB() {
        return certifyDateB;
    }

    public void setCertifyDateB(Date certifyDateB) {
        this.certifyDateB = certifyDateB;
    }

    public String getMaintenanceStatus() {
        return maintenanceStatus;
    }

    public void setMaintenanceStatus(String maintenanceStatus) {
        this.maintenanceStatus = maintenanceStatus;
    }

    public String getCheckState() {
        return checkState;
    }

    public void setCheckState(String checkState) {
        this.checkState = checkState;
    }

    public Date getRegisterDate() {
        return registerDate;
    }

    public void setRegisterDate(Date registerDate) {
        this.registerDate = registerDate;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getVehicleColor() {
        return vehicleColor;
    }

    public void setVehicleColor(String vehicleColor) {
        this.vehicleColor = vehicleColor;
    }

    public String getDisplacement() {
        return displacement;
    }

    public void setDisplacement(String displacement) {
        this.displacement = displacement;
    }

    public String getVin() {
        return vin;
    }

    public void setVin(String vin) {
        this.vin = vin;
    }

    public String getFuel() {
        return fuel;
    }

    public void setFuel(String fuel) {
        this.fuel = fuel;
    }

    public String getPermitted() {
        return permitted;
    }

    public void setPermitted(String permitted) {
        this.permitted = permitted;
    }

    public Date getRegistrationTime() {
        return registrationTime;
    }

    public void setRegistrationTime(Date registrationTime) {
        this.registrationTime = registrationTime;
    }

    public Integer getInspectioStatus() {
        return inspectioStatus;
    }

    public void setInspectioStatus(Integer inspectioStatus) {
        this.inspectioStatus = inspectioStatus;
    }

    public String getEngineNo() {
        return engineNo;
    }

    public void setEngineNo(String engineNo) {
        this.engineNo = engineNo;
    }

    public String getOwner() {
        return owner;
    }

    public void setOwner(String owner) {
        this.owner = owner;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public int getSeat() {
        return seat;
    }

    public void setSeat(int seat) {
        this.seat = seat;
    }

    public Date getNcpFirstDate() {
        return ncpFirstDate;
    }

    public void setNcpFirstDate(Date ncpFirstDate) {
        this.ncpFirstDate = ncpFirstDate;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDriverProType() {
        return driverProType;
    }

    public void setDriverProType(String driverProType) {
        this.driverProType = driverProType;
    }

    public String getVehicleBrand() {
        return vehicleBrand;
    }

    public void setVehicleBrand(String vehicleBrand) {
        this.vehicleBrand = vehicleBrand == null ? null : vehicleBrand.trim();
    }

    public Date getVehRegisDate() {
        return vehRegisDate;
    }

    public void setVehRegisDate(Date vehRegisDate) {
        this.vehRegisDate = vehRegisDate;
    }

    public String getVehicleLicense() {
        return vehicleLicense;
    }

    public void setVehicleLicense(String vehicleLicense) {
        this.vehicleLicense = vehicleLicense == null ? null : vehicleLicense.trim();
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public void setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo == null ? null : certificateNo.trim();
    }

    public String getVehicleStatus() {
        return vehicleStatus;
    }

    public void setVehicleStatus(String vehicleStatus) {
        this.vehicleStatus = vehicleStatus;
    }

    public String getBoardColor() {
        return boardColor;
    }

    public void setBoardColor(String boardColor) {
        this.boardColor = boardColor == null ? null : boardColor.trim();
    }

    public String getVehicleType() {
        return vehicleType;
    }

    public void setVehicleType(String vehicleType) {
        this.vehicleType = vehicleType == null ? null : vehicleType.trim();
    }

    public String getVehiclePhoto() {
        return vehiclePhoto;
    }

    public void setVehiclePhoto(String vehiclePhoto) {
        this.vehiclePhoto = vehiclePhoto == null ? null : vehiclePhoto.trim();
    }

    public String getAnnualCheckStatus() {
        return annualCheckStatus;
    }

    public void setAnnualCheckStatus(String annualCheckStatus) {
        this.annualCheckStatus = annualCheckStatus == null ? null : annualCheckStatus.trim();
    }

    public Double getDistanceTotal() {
        return distanceTotal;
    }

    public void setDistanceTotal(Double distanceTotal) {
        this.distanceTotal = distanceTotal;
    }

    public Integer getExamStatus() {
        return examStatus;
    }

    public void setExamStatus(Integer examStatus) {
        this.examStatus = examStatus;
    }

    public Date getNextExamDate() {
        return nextExamDate;
    }

    public void setNextExamDate(Date nextExamDate) {
        this.nextExamDate = nextExamDate;
    }

    public String getNcpDeviceSerialNum() {
        return ncpDeviceSerialNum;
    }

    public void setNcpDeviceSerialNum(String ncpDeviceSerialNum) {
        this.ncpDeviceSerialNum = ncpDeviceSerialNum == null ? null : ncpDeviceSerialNum.trim();
    }

    public String getGpsBrand() {
        return gpsBrand;
    }

    public void setGpsBrand(String gpsBrand) {
        this.gpsBrand = gpsBrand == null ? null : gpsBrand.trim();
    }

    public String getGpsDeviceType() {
        return gpsDeviceType;
    }

    public void setGpsDeviceType(String gpsDeviceType) {
        this.gpsDeviceType = gpsDeviceType == null ? null : gpsDeviceType.trim();
    }

    public Date getGpsFixDate() {
        return gpsFixDate;
    }

    public void setGpsFixDate(Date gpsFixDate) {
        this.gpsFixDate = gpsFixDate;
    }

    public String getGpsIMEI() {
        return gpsIMEI;
    }

    public void setGpsIMEI(String gpsIMEI) {
        this.gpsIMEI = gpsIMEI == null ? null : gpsIMEI.trim();
    }

    public String getTransPriceType() {
        return transPriceType;
    }

    public void setTransPriceType(String transPriceType) {
        this.transPriceType = transPriceType == null ? null : transPriceType.trim();
    }

    public String getAppKey() {
        return appKey;
    }

    public void setAppKey(String appKey) {
        this.appKey = appKey == null ? null : appKey.trim();
    }

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }

    public Date getUpdated() {
        return updated;
    }

    public void setUpdated(Date updated) {
        this.updated = updated;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ClbaMessage other = (ClbaMessage) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getDriverProType() == null ? other.getDriverProType() == null
            : this.getDriverProType().equals(other.getDriverProType()))
            && (this.getVehicleBrand() == null ? other.getVehicleBrand() == null
            : this.getVehicleBrand().equals(other.getVehicleBrand()))
            && (this.getVehRegisDate() == null ? other.getVehRegisDate() == null
            : this.getVehRegisDate().equals(other.getVehRegisDate()))
            && (this.getVehicleLicense() == null ? other.getVehicleLicense() == null
            : this.getVehicleLicense().equals(other.getVehicleLicense()))
            && (this.getCertificateNo() == null ? other.getCertificateNo() == null
            : this.getCertificateNo().equals(other.getCertificateNo()))
            && (this.getVehicleStatus() == null ? other.getVehicleStatus() == null
            : this.getVehicleStatus().equals(other.getVehicleStatus()))
            && (this.getBoardColor() == null ? other.getBoardColor() == null
            : this.getBoardColor().equals(other.getBoardColor()))
            && (this.getVehicleType() == null ? other.getVehicleType() == null
            : this.getVehicleType().equals(other.getVehicleType()))
            && (this.getVehiclePhoto() == null ? other.getVehiclePhoto() == null
            : this.getVehiclePhoto().equals(other.getVehiclePhoto()))
            && (this.getAnnualCheckStatus() == null ? other.getAnnualCheckStatus() == null
            : this.getAnnualCheckStatus().equals(other.getAnnualCheckStatus()))
            && (this.getDistanceTotal() == null ? other.getDistanceTotal() == null
            : this.getDistanceTotal().equals(other.getDistanceTotal()))
            && (this.getExamStatus() == null ? other.getExamStatus() == null
            : this.getExamStatus().equals(other.getExamStatus()))
            && (this.getNextExamDate() == null ? other.getNextExamDate() == null
            : this.getNextExamDate().equals(other.getNextExamDate()))
            && (this.getNcpDeviceSerialNum() == null ? other.getNcpDeviceSerialNum() == null
            : this.getNcpDeviceSerialNum().equals(other.getNcpDeviceSerialNum()))
            && (this.getGpsBrand() == null ? other.getGpsBrand() == null
            : this.getGpsBrand().equals(other.getGpsBrand()))
            && (this.getGpsDeviceType() == null ? other.getGpsDeviceType() == null
            : this.getGpsDeviceType().equals(other.getGpsDeviceType()))
            && (this.getGpsFixDate() == null ? other.getGpsFixDate() == null
            : this.getGpsFixDate().equals(other.getGpsFixDate()))
            && (this.getGpsIMEI() == null ? other.getGpsIMEI() == null
            : this.getGpsIMEI().equals(other.getGpsIMEI()))
            && (this.getTransPriceType() == null ? other.getTransPriceType() == null
            : this.getTransPriceType().equals(other.getTransPriceType()))
            && (this.getAppKey() == null ? other.getAppKey() == null
            : this.getAppKey().equals(other.getAppKey()))
            && (this.getCreated() == null ? other.getCreated() == null
            : this.getCreated().equals(other.getCreated()))
            && (this.getUpdated() == null ? other.getUpdated() == null
            : this.getUpdated().equals(other.getUpdated()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result =
            prime * result + ((getDriverProType() == null) ? 0 : getDriverProType().hashCode());
        result = prime * result + ((getVehicleBrand() == null) ? 0 : getVehicleBrand().hashCode());
        result = prime * result + ((getVehRegisDate() == null) ? 0 : getVehRegisDate().hashCode());
        result =
            prime * result + ((getVehicleLicense() == null) ? 0 : getVehicleLicense().hashCode());
        result =
            prime * result + ((getCertificateNo() == null) ? 0 : getCertificateNo().hashCode());
        result =
            prime * result + ((getVehicleStatus() == null) ? 0 : getVehicleStatus().hashCode());
        result = prime * result + ((getBoardColor() == null) ? 0 : getBoardColor().hashCode());
        result = prime * result + ((getVehicleType() == null) ? 0 : getVehicleType().hashCode());
        result = prime * result + ((getVehiclePhoto() == null) ? 0 : getVehiclePhoto().hashCode());
        result = prime * result + ((getAnnualCheckStatus() == null) ? 0
            : getAnnualCheckStatus().hashCode());
        result =
            prime * result + ((getDistanceTotal() == null) ? 0 : getDistanceTotal().hashCode());
        result = prime * result + ((getExamStatus() == null) ? 0 : getExamStatus().hashCode());
        result = prime * result + ((getNextExamDate() == null) ? 0 : getNextExamDate().hashCode());
        result = prime * result + ((getNcpDeviceSerialNum() == null) ? 0
            : getNcpDeviceSerialNum().hashCode());
        result = prime * result + ((getGpsBrand() == null) ? 0 : getGpsBrand().hashCode());
        result =
            prime * result + ((getGpsDeviceType() == null) ? 0 : getGpsDeviceType().hashCode());
        result = prime * result + ((getGpsFixDate() == null) ? 0 : getGpsFixDate().hashCode());
        result = prime * result + ((getGpsIMEI() == null) ? 0 : getGpsIMEI().hashCode());
        result =
            prime * result + ((getTransPriceType() == null) ? 0 : getTransPriceType().hashCode());
        result = prime * result + ((getAppKey() == null) ? 0 : getAppKey().hashCode());
        result = prime * result + ((getCreated() == null) ? 0 : getCreated().hashCode());
        result = prime * result + ((getUpdated() == null) ? 0 : getUpdated().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", driverProType=").append(driverProType);
        sb.append(", vehicleBrand=").append(vehicleBrand);
        sb.append(", vehRegisDate=").append(vehRegisDate);
        sb.append(", vehicleLicense=").append(vehicleLicense);
        sb.append(", certificateNo=").append(certificateNo);
        sb.append(", vehicleStatus=").append(vehicleStatus);
        sb.append(", boardColor=").append(boardColor);
        sb.append(", vehicleType=").append(vehicleType);
        sb.append(", vehiclePhoto=").append(vehiclePhoto);
        sb.append(", annualCheckStatus=").append(annualCheckStatus);
        sb.append(", distanceTotal=").append(distanceTotal);
        sb.append(", examStatus=").append(examStatus);
        sb.append(", nextExamDate=").append(nextExamDate);
        sb.append(", ncpDeviceSerialNum=").append(ncpDeviceSerialNum);
        sb.append(", gpsBrand=").append(gpsBrand);
        sb.append(", gpsDeviceType=").append(gpsDeviceType);
        sb.append(", gpsFixDate=").append(gpsFixDate);
        sb.append(", gpsIMEI=").append(gpsIMEI);
        sb.append(", transPriceType=").append(transPriceType);
        sb.append(", appKey=").append(appKey);
        sb.append(", created=").append(created);
        sb.append(", updated=").append(updated);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }


}
